package com.jxdinfo.hussar.example.mes.pro.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jxdinfo.hussar.example.common.annotation.Excel;
import com.jxdinfo.hussar.example.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 生产报工记录对象 pro_feedback
 *
 * @author yinjinlu
 * @date 2022-07-10
 */
@Data
public class ProFeedback extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    private Long recordId;

    /** 报工类型 */
    @Excel(name = "报工类型")
    private String feedbackType;

    /** 报工单编号 */
    @Excel(name = "报工单编号")
    private String feedbackCode;

    /** 生产工单ID */
    @Excel(name = "生产工单ID")
    private Long workorderId;

    /** 生产工单编号 */
    @Excel(name = "生产工单编号")
    private String workorderCode;

    /** 生产工单名称 */
    @Excel(name = "生产工单名称")
    private String workorderName;

    /** 工艺ID */
    @Excel(name = "工艺ID")
    private Long routeId;

    /** 工艺编号 */
    @Excel(name = "工艺编号")
    private String routeCode;

    /** 工艺名称 */
    @Excel(name = "工艺名称")
    private String routeName;

    /** 工序ID */
    @Excel(name = "工序ID")
    private Long processId;

    /** 工序编码 */
    @Excel(name = "工序编码")
    private String processCode;

    /** 工序名称 */
    @Excel(name = "工序名称")
    private String processName;

    /** 工段ID */
    @Excel(name = "工段ID")
    private Long workstationId;

    /** 工段编号 */
    @Excel(name = "工段编号")
    private String workstationCode;

    /** 工段名称 */
    @Excel(name = "工段名称")
    private String workstationName;

    /** 生产线ID */
    @Excel(name = "生产线ID")
    private Long lineId;

    /** 生产线编码 */
    @Excel(name = "生产线编码")
    private String postCode;

    /** 生产线名称 */
    @Excel(name = "生产线名称")
    private String postName;

    /** 生产任务ID */
    @Excel(name = "生产任务ID")
    private Long taskId;

    /** 生产任务编号 */
    @Excel(name = "生产任务编号")
    private String taskCode;

    /** 生产任务名称 */
    @Excel(name = "生产任务名称")
    private String taskName;

    /** 料品ID */
    @Excel(name = "料品ID")
    private Long itemId;

    /** 料品编码 */
    @Excel(name = "料品编码")
    private String itemCode;

    /** 料品名称 */
    @Excel(name = "料品名称")
    private String itemName;

    /** 料品规格型号 */
    @Excel(name = "料品规格型号")
    private String specification;

    /** 是否入库 */
    @Excel(name = "是否入库")
    private String enableFlag;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 仓库编码 */
    @Excel(name = "仓库编码")
    private String warehouseCode;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    private String warehouseName;

    /** 库区ID */
    @Excel(name = "库区ID")
    private Long locationId;

    /** 库区编码 */
    @Excel(name = "库区编码")
    private String locationCode;

    /** 库区名称 */
    @Excel(name = "库区名称")
    private String locationName;

    /** 库位ID */
    @Excel(name = "库位ID")
    private Long areaId;

    /** 库位编码 */
    @Excel(name = "库位编码")
    private String areaCode;

    /** 库位名称 */
    @Excel(name = "库位名称")
    private String areaName;

    /** 单位 */
    @Excel(name = "单位")
    private String unitOfMeasure;

    /** 排产数量 */
    @Excel(name = "排产数量")
    private BigDecimal quantity;

    /** 本次报工数量 */
    @Excel(name = "本次报工数量")
    private BigDecimal quantityFeedback;

    /** 合格品数量 */
    @Excel(name = "合格品数量")
    private BigDecimal quantityQualified;

    /** 不良品数量 */
    @Excel(name = "不良品数量")
    private BigDecimal quantityUnquanlified;

    /** 待检测数量 */
    @Excel(name = "待检测数量")
    private BigDecimal quantityUncheck;

    /** 是否需要检化验 */
    @Excel(name = "是否需要检化验")
    private String isCheck;

    /** 是否减订单*/
    private String keyFlag;

    /** 报工人编码 */
    @Excel(name = "报工人编码")
    private String userName;

    /** 报工人名称 */
    @Excel(name = "报工人名称")
    private String nickName;

    /** 报工途径 */
    @Excel(name = "报工途径")
    private String feedbackChannel;

    /** 报工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8" ,locale = "zh")
    @Excel(name = "报工时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date feedbackTime;

    /** 记录人 */
    @Excel(name = "记录人")
    private String recordUser;

    /** 记录人名称 */
    @Excel(name = "记录人名称")
    private String recordNick;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 预留字段1 */
    @Excel(name = "预留字段1")
    private String attr1;

    /** 预留字段2 */
    @Excel(name = "预留字段2")
    private String attr2;

    /** 预留字段3 */
    @Excel(name = "预留字段3")
    private Long attr3;

    /** 预留字段4 */
    @Excel(name = "预留字段4")
    private Long attr4;

    /** 车间ID */
    @Excel(name = "车间ID")
    private Long workshopId;

    /** 班组ID */
    @Excel(name = "班组ID")
    private Long teamId;

}
